525
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai' + 
	'lable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with ``' + 
	' replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount ' + 
	'+ 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
524
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value + ` ` + available';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
527
FilterBarCaption ALLUI Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
526
FilterBarCaption ALLUI Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'allui';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
529
FilterBarCaption ALL Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<' + 
	's>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchit' + 
	'emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ' + 
	'+ ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
528
FilterBarCaption ALL Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'all';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
534
Export Data in HTML format

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXCOMBOBOXLib_TLB.exFilterPromptContainsAny;
	with ConditionalFormats do
	begin
		Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
		with Add('%0 like `*child*`','child') do
		begin
			ForeColor := $8080ff;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
		with Add('%0 like `*B*`','b') do
		begin
			ForeColor := $ff0000;
			Bold := True;
			Italic := True;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
	end;
	with Columns do
	begin
		with (IUnknown(Add('Value')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 128;
			HTMLCaption := '<b>VA</b><r>sko';
		end;
		with (IUnknown(Add('APos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 apos ``';
			AllowSort := False;
			Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
			Def[EXCOMBOBOXLib_TLB.exCellForeColor] := OleVariant(8421504);
			Def[EXCOMBOBOXLib_TLB.exHeaderForeColor] := Def[EXCOMBOBOXLib_TLB.exCellForeColor];
			Position := 0;
		end;
		with (IUnknown(Add('RPos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 rpos ``';
			AllowSort := False;
			Position := 1;
		end;
		with (IUnknown(Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index ``';
			DisplayFilterButton := True;
			FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
			Position := 2;
		end;
		with (IUnknown(Add('Data 1')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `A-Z`';
			Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 2')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(False);
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 3')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
		end;
	end;
	with Items do
	begin
		h := AddItem('ParentA');
		InsertItem(h,Null,'Child A');
		InsertItem(h,Null,'Child B');
		CellState[OleVariant(h),OleVariant(4)] := 1;
		CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00;
		ExpandItem[h] := True;
		AddItem('Item A');
		h := AddItem('ParentB');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00;
		CellState[OleVariant(h),OleVariant(5)] := 1;
		AddItem('Item B');
		AddItem('Item C');
		AddItem('Item D');
		ExpandItem[h] := True;
	end;
	EndUpdate();
	sFile := 'c:/temp/export.html';
	Export(OleVariant(sFile),'vis');
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('InternetExplorer.Application'))) as SHDocVw_TLB.ShellBrowserWindow) do
	begin
		Navigate2(sFile,Null,Null,Null,Null);
	end;
end
533
Export Data in CSV format

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXCOMBOBOXLib_TLB.exFilterPromptContainsAny;
	with ConditionalFormats do
	begin
		Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
		with Add('%0 like `*child*`','child') do
		begin
			ForeColor := $8080ff;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
		with Add('%0 like `*B*`','b') do
		begin
			ForeColor := $ff0000;
			Bold := True;
			Italic := True;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
	end;
	with Columns do
	begin
		with (IUnknown(Add('Value')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 128;
			HTMLCaption := '<b>VA</b><r>sko';
		end;
		with (IUnknown(Add('APos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 apos ``';
			AllowSort := False;
			Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
			Def[EXCOMBOBOXLib_TLB.exCellForeColor] := OleVariant(8421504);
			Def[EXCOMBOBOXLib_TLB.exHeaderForeColor] := Def[EXCOMBOBOXLib_TLB.exCellForeColor];
			Position := 0;
		end;
		with (IUnknown(Add('RPos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 rpos ``';
			AllowSort := False;
			Position := 1;
		end;
		with (IUnknown(Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index ``';
			DisplayFilterButton := True;
			FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
			Position := 2;
		end;
		with (IUnknown(Add('Data 1')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `A-Z`';
			Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 2')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(False);
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 3')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
		end;
	end;
	with Items do
	begin
		h := AddItem('ParentA');
		InsertItem(h,Null,'Child A');
		InsertItem(h,Null,'Child B');
		CellState[OleVariant(h),OleVariant(4)] := 1;
		CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00;
		ExpandItem[h] := True;
		AddItem('Item A');
		h := AddItem('ParentB');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00;
		CellState[OleVariant(h),OleVariant(5)] := 1;
		AddItem('Item B');
		AddItem('Item C');
		AddItem('Item D');
		ExpandItem[h] := True;
	end;
	EndUpdate();
	OutputDebugString( Export('','vis') );
end
590
Expandable-caption

with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.Simple;
	TreeColumnIndex := -1;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesGeometric;
	BackColorAlternate := RGB(240,240,240);
	ShowFocusRect := False;
	SingleEdit := True;
	SearchColumnIndex := 1;
	AdjustSearchColumn := False;
	HeaderVisible := False;
	Columns.Add('Default');
	(IUnknown(Columns.Add('Select')) as EXCOMBOBOXLib_TLB.Column).Visible := False;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('before item')),OleVariant(1)] := 'before';
		h := AddItem('<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		CellCaption[OleVariant(h),OleVariant(1)] := 'Bank Account';
		CellCaption[OleVariant(AddItem('after item')),OleVariant(1)] := 'after';
	end;
	Select[OleVariant(1)] := 'after';
	EndUpdate();
end
591
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.ComboBox1AnchorClick(ASender: TObject; AnchorID : WideString; Options : WideString);
begin
	with ComboBox1 do
	begin
		OutputDebugString( AnchorID );
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.Simple;
	TreeColumnIndex := -1;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesGeometric;
	BackColorAlternate := RGB(240,240,240);
	ShowFocusRect := False;
	SingleEdit := True;
	SearchColumnIndex := 1;
	AdjustSearchColumn := False;
	HeaderVisible := False;
	Columns.Add('Default');
	(IUnknown(Columns.Add('Select')) as EXCOMBOBOXLib_TLB.Column).Visible := False;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('before item')),OleVariant(1)] := 'before';
		h := AddItem('<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4AjM' + 
	'GhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEBA' + 
	'==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DABv' + 
	'ABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>`' + 
	'50;</a><br>+ withdraw(amount: Currency)');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		CellCaption[OleVariant(h),OleVariant(1)] := 'Bank Account';
		CellCaption[OleVariant(AddItem('after item')),OleVariant(1)] := 'after';
	end;
	Select[OleVariant(1)] := 'after';
	EndUpdate();
end
468
Does your control supports scrolling by touching the screen

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	ScrollBySingleLine := True;
	AutoDrag := Integer(EXCOMBOBOXLib_TLB.exAutoDragScrollOnShortTouch) Or Integer(EXCOMBOBOXLib_TLB.exAutoDragScroll);
	EndUpdate();
end
405
Does your control support RightToLeft property for RTL languages or right to left

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('P1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
	RightToLeft := True;
	EndUpdate();
end
357
Does your control support prompt feature

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	AutoComplete := False;
	(IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column).Prompt := '<img>1</img><i><fgcolor=808080>type to search</fgcolor></i>';
	Items.AddItem(OleVariant(0));
	Items.AddItem(OleVariant(1));
	Items.AddItem(OleVariant(2));
end
22
Does your control support partial-check ( three states ) feature for each column

with ComboBox1 do
begin
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('P1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('P2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
end
565
Does your control support multiple-selection

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	SingleSel := False;
	SingleEdit := True;
	LabelColumnIndex := 0;
	with Columns do
	begin
		Add('Column');
		Add('Sub-Column');
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item 1')),OleVariant(1)] := 'SubItem 1.1';
		CellCaption[OleVariant(AddItem('Item 2')),OleVariant(1)] := 'SubItem 2.1';
		CellCaption[OleVariant(AddItem('Item 3')),OleVariant(1)] := 'SubItem 3.1';
		CellCaption[OleVariant(AddItem('Item 4')),OleVariant(1)] := 'SubItem 4.1';
		SelectItem[ItemByIndex[1]] := True;
		SelectItem[ItemByIndex[3]] := True;
	end;
	EndUpdate();
end
352
Does you control support RTL languages or if there is a property RightToLeft

with ComboBox1 do
begin
	RightToLeft := True;
	ItemsAllowSizing := EXCOMBOBOXLib_TLB.exResizeItem;
	DrawGridLines := EXCOMBOBOXLib_TLB.exHLines;
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	ScrollBySingleLine := True;
	DefaultItemHeight := 64;
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Alignment := EXCOMBOBOXLib_TLB.RightAlignment;
		HeaderAlignment := EXCOMBOBOXLib_TLB.RightAlignment;
		EditAlignment := EXCOMBOBOXLib_TLB.RightAlignment;
	end;
	with Items do
	begin
		AddItem('Item 1');
		ItemHeight[InsertItem(AddItem('Parent'),Null,'Item 2')] := 48;
		AddItem('Item 3');
		ExpandItem[ItemByIndex[1]] := True;
	end;
end
319
Does the tooltip support HTML format

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := '<font Tahoma;11>T</font>his is an HTML <b>tooltip</b> assigned to a <fgcolor=FF0000>column</fgcolor>';
end
453
Does the control have the option to have a horizontal scroll to show entries which are longer than the display

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	(IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column).Width := 512;
	with Items do
	begin
		AddItem('Exontrol is devoted to create innovative user interface components for Windows applications, on COM or .NET platforms, since 199' + 
	'9. "eXontrol" comes from e(s)pecial (c)ontrol, where sc makes the X. We are a vendor not a reseller, and this is the single site' + 
	' where you can try or buy our products. If you are tired of looking for "powerful" components now it''s time to show you real com' + 
	'ponents. No registration required, no nag screens, no limitations, unlimited evaluation time.');
		AddItem('A combo box is a commonly-used GUI tool. It is a combination of a drop-down list or list box and a single-line textbox, allowing' + 
	' the user either to type a value directly into the control or choose from the list of existing options.');
	end;
	EndUpdate();
end
121
Do you have some function to retrieve all items to a safe array

with ComboBox1 do
begin
	Columns.Add('Column');
	Items.AddItem(OleVariant(0));
	PutItems(GetItems(OleVariant(0)),Null);
	Items.AddItem(OleVariant(1));
	PutItems(GetItems(OleVariant(0)),Null);
	Items.AddItem(OleVariant(2));
	PutItems(GetItems(OleVariant(0)),Null);
	Items.AddItem(OleVariant(3));
end
122
Do you have some function to load data from a safe array

with ComboBox1 do
begin
	Columns.Add('Column');
	Items.AddItem(OleVariant(0));
	PutItems(GetItems(OleVariant(0)),Null);
end
548
Do do I get the DAO version I have installed
with ComboBox1 do
begin
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.35'))) as DAO_TLB.PrivDBEngine).Version );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine).Version );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine).Version );
end
546
Do do I get the ADO version I have installed
with ComboBox1 do
begin
	OutputDebugString( 'ADO Version:' );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Connection'))) as ADODB_TLB.Connection).Version );
end
605
Displays the root item's index and value/caption using expressions

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	AutoDrag := EXCOMBOBOXLib_TLB.exAutoDragPositionAny;
	SingleSel := False;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesSolid;
	ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
	with ConditionalFormats.Add('1',Null) do
	begin
		Bold := True;
		ApplyTo := EXCOMBOBOXLib_TLB.FormatApplyToEnum($2);
	end;
	with (IUnknown(Columns.Add('Description')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 index ``';
		Position := 0;
		Width := 16;
	end;
	with (IUnknown(Columns.Add('Root-Index')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := 'root(1 index ``)';
		Position := 1;
		Width := 32;
		Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with (IUnknown(Columns.Add('Root-Value')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := 'root(%0)';
		Position := 2;
		Width := 32;
		Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
604
Displays the parent item's index and caption/value using expressions

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	AutoDrag := EXCOMBOBOXLib_TLB.exAutoDragPositionAny;
	SingleSel := False;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesSolid;
	ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
	with ConditionalFormats.Add('1',Null) do
	begin
		Bold := True;
		ApplyTo := EXCOMBOBOXLib_TLB.FormatApplyToEnum($2);
	end;
	with (IUnknown(Columns.Add('Description')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 index `I`';
		Position := 0;
		Width := 16;
	end;
	with (IUnknown(Columns.Add('Parent-Index')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := 'parent(1 index `I`)';
		Position := 1;
		Width := 32;
		Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with (IUnknown(Columns.Add('Parent-Value')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := 'parent(%0)';
		Position := 2;
		Width := 32;
		Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
601
Displays a glitch funnel for drop-down filter buttons (empty or active)

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		RenderType := -1;
		Add(1,'gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZOi' + 
	'wLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYReW' + 
	'APfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=');
		Add(2,'CP:1 -2 0 0 0');
	end;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesGeometric;
	ShowFocusRect := False;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $2000000;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarActive] := $2000001;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	HeaderVisible := True;
	with (IUnknown(Columns.Add('1st col')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		Filter := 'Item B';
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
	end;
	Columns.Add('2nd col');
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	ApplyFilter();
	EndUpdate();
end
587
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.ComboBox1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	with ComboBox1 do
	begin
		ShowToolTip(ColumnFromPoint[-1,-1],'',Null,'+8','+8');
	end
end;


592
Disable temporarily the column's sort, resize and drag and drop

with ComboBox1 do
begin
	BeginUpdate();
	SortBarVisible := True;
	SortBarCaption := '<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)';
	HeaderEnabled := False;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	(IUnknown(Columns.Add('Index')) as EXCOMBOBOXLib_TLB.Column).FormatColumn := '1 index ``';
	(IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column).FormatColumn := '1 apos ``';
	Columns.Add('Edit');
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesGeometric;
	DrawGridLines := EXCOMBOBOXLib_TLB.exVLines;
	EndUpdate();
end
588
Disable hover-all feature (Windows 11 or greater)
with ComboBox1 do
begin
	Background[EXCOMBOBOXLib_TLB.exScrollHoverAll] := $1;
end
602
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	(IUnknown(Columns.Add('Country')) as EXCOMBOBOXLib_TLB.Column).ShowIdem := ' ';
	with Items do
	begin
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
	end;
	EndUpdate();
end
603
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	(IUnknown(Columns.Add('Country')) as EXCOMBOBOXLib_TLB.Column).ShowIdem := '<fgcolor gray>〃';
	with Items do
	begin
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
	end;
	EndUpdate();
end
544
DAO, MDB, 120

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset2);
	Value := OleVariant(10248);
	EndUpdate();
end
543
DAO, MDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
545
DAO, ACCDB, 120

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset2);
	Value := OleVariant(10248);
	EndUpdate();
end
582
Change the clear-button appearance

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'XP:Window 19 1');
		Add(2,'XP:Window 19 3');
	end;
	Background[EXCOMBOBOXLib_TLB.exClearButtonUp] := $1000000;
	Background[EXCOMBOBOXLib_TLB.exClearButtonDown] := $2000000;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := 1;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
150
Can I use your EBN files to change the visual appearance for radio buttons

with ComboBox1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	VisualAppearance.Add(2,'c:\exontrol\images\pushed.ebn');
	RadioImage[False] := 16777216;
	RadioImage[True] := 33554432;
	(IUnknown(Columns.Add('Radio')) as EXCOMBOBOXLib_TLB.Column).Def[EXCOMBOBOXLib_TLB.exCellHasRadioButton] := OleVariant(True);
	with Items do
	begin
		AddItem('Radio 1');
		CellState[OleVariant(AddItem('Radio 2')),OleVariant(0)] := 1;
		AddItem('Radio 3');
	end;
end
149
Can I use your EBN files to change the visual appearance for checkbox cells

with ComboBox1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	VisualAppearance.Add(2,'c:\exontrol\images\pushed.ebn');
	CheckImage[EXCOMBOBOXLib_TLB.Unchecked] := 16777216;
	CheckImage[EXCOMBOBOXLib_TLB.Checked] := 33554432;
	(IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column).Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
	with Items do
	begin
		AddItem('Check 1');
		CellState[OleVariant(AddItem('Check 2')),OleVariant(0)] := 1;
	end;
end
151
Can I use your EBN files to change the visual appearance for +/- expand - collapse buttons

with ComboBox1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	VisualAppearance.Add(2,'c:\exontrol\images\pushed.ebn');
	LinesAtRoot := EXCOMBOBOXLib_TLB.exGroupLinesAtRoot;
	HasButtons := EXCOMBOBOXLib_TLB.exCustom;
	HasButtonsCustom[False] := 16777216;
	HasButtonsCustom[True] := 33554432;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
end
52
Can I use my own icons for the +/- ( expand/collapse ) buttons

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	LinesAtRoot := EXCOMBOBOXLib_TLB.exGroupLinesAtRoot;
	HasButtons := EXCOMBOBOXLib_TLB.exCustom;
	HasButtonsCustom[False] := 1;
	HasButtonsCustom[True] := 2;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
end
428
Can I specify an item to be a separator

with ComboBox1 do
begin
	BeginUpdate();
	TreeColumnIndex := -1;
	SortOnClick := EXCOMBOBOXLib_TLB.exNoSort;
	Columns.Add('Numbers');
	with Items do
	begin
		AddItem(OleVariant(1));
		AddItem(OleVariant(2));
		h := AddItem('separator');
		SelectableItem[h] := False;
		ItemDivider[h] := 0;
		ItemDividerLineAlignment[h] := EXCOMBOBOXLib_TLB.DividerCenter;
		ItemDividerLine[h] := EXCOMBOBOXLib_TLB.ThinLine;
		CellHAlignment[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.CenterAlignment;
		AddItem(OleVariant(3));
		AddItem(OleVariant(4));
	end;
	EndUpdate();
end
430
Can I specify a terminal item so it will mark the end of childs

with ComboBox1 do
begin
	BeginUpdate();
	ScrollBySingleLine := True;
	Columns.Add('P1');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := InsertItem(h,'','');
		ItemDivider[h] := 0;
		ItemDividerLineAlignment[h] := EXCOMBOBOXLib_TLB.DividerCenter;
		ItemHeight[h] := 2;
		SelectableItem[h] := False;
		SortableItem[h] := False;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := InsertItem(h,'','');
		ItemDivider[h] := 0;
		ItemDividerLineAlignment[h] := EXCOMBOBOXLib_TLB.DividerCenter;
		ItemHeight[h] := 2;
		SelectableItem[h] := False;
		SortableItem[h] := False;
	end;
	EndUpdate();
end
556
Can I sort the column by image

with ComboBox1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		SortType := EXCOMBOBOXLib_TLB.exSortByImage;
	end;
	with Items do
	begin
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 3;
		AddItem(Null);
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 2;
	end;
	Columns.Item[OleVariant(0)].SortOrder := EXCOMBOBOXLib_TLB.SortAscending;
	EndUpdate();
end
557
Can I sort the column by check-state

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		SortType := EXCOMBOBOXLib_TLB.exSortByState;
	end;
	with Items do
	begin
		AddItem(Null);
		CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		AddItem(Null);
	end;
	Columns.Item[OleVariant(0)].SortOrder := EXCOMBOBOXLib_TLB.SortAscending;
	EndUpdate();
end
599
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically
with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Items')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterPattern := True;
		Def[EXCOMBOBOXLib_TLB.exFilterPatternTemplate] := '*<%filter%>*';
		FilterType := EXCOMBOBOXLib_TLB.exPattern;
		Filter := '1';
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
	end;
	ApplyFilter();
	EndUpdate();
end
311
Can I remove the line being displayed by a divider item

with ComboBox1 do
begin
	MarkSearchColumn := False;
	TreeColumnIndex := -1;
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		h := AddItem('Cell 1');
		CellCaption[OleVariant(h),OleVariant(1)] := 'This is bit of text that''s shown on multiple lines. This is bit of text that''s shown on multiple lines.';
		CellSingleLine[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		h := AddItem('This is bit of text that''s displayed on the entire item, divider.');
		ItemDivider[h] := 0;
		ItemDividerLine[h] := EXCOMBOBOXLib_TLB.EmptyLine;
		CellHAlignment[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.CenterAlignment;
	end;
end
34
Can I remove the "All", "Blanks" and "NonBlanks" items in the drop down filter window

with ComboBox1 do
begin
	(IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAll] := '';
	Description[EXCOMBOBOXLib_TLB.exFilterBarBlanks] := '';
	Description[EXCOMBOBOXLib_TLB.exFilterBarNonBlanks] := '';
end
31
Can I make strikeout the column's header

with ComboBox1 do
begin
	(IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column).HeaderStrikeOut := True;
end
573
Can I limit the number of characters the user can type into, similar with text-box's MaxLength property
with ComboBox1 do
begin
	(IUnknown(Columns.Add('Max 2 chars')) as EXCOMBOBOXLib_TLB.Column).EditMaxLength := 2;
	AutoSearch := False;
	AutoComplete := False;
end
290
Can I let the user to resize at runtime the specified item

with ComboBox1 do
begin
	ScrollBySingleLine := True;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	Columns.Add('Default');
	with Items do
	begin
		ItemAllowSizing[AddItem('resizable item')] := True;
		AddItem('not resizable item');
	end;
end
54
Can I hide the hierarchy lines

with ComboBox1 do
begin
	LinesAtRoot := EXCOMBOBOXLib_TLB.exGroupLinesAtRoot;
	HasLines := EXCOMBOBOXLib_TLB.exNoLine;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
end
401
Can I have an image displayed after the text. Can I get that effect without using HTML content

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	(IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column).Def[EXCOMBOBOXLib_TLB.exCellDrawPartsOrder] := 'caption,icon,check,icons,picture';
	with Items do
	begin
		h := AddItem('Text');
		CellImage[OleVariant(h),OleVariant(0)] := 1;
	end;
end
42
Can I filter for values using OR - NOT , instead AND operator

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	with (IUnknown(Columns.Add('Column 2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	with (IUnknown(Columns.Add('Column 3')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	FilterCriteria := '%0 or not %1 and %2';
	ApplyFilter();
end
8
Can I displays a custom size picture to column's header

with ComboBox1 do
begin
	HTMLPicture['pic1'] := 'c:\exontrol\images\zipdisk.gif';
	HeaderHeight := 48;
	(IUnknown(Columns.Add('ColumnName')) as EXCOMBOBOXLib_TLB.Column).HTMLCaption := '<b>HTML</b> Column <img>pic1</img> Picture';
end
403
Can I display the cell's check box after the text

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		Def[EXCOMBOBOXLib_TLB.exCellDrawPartsOrder] := 'caption,check';
	end;
	with Items do
	begin
		CellHasCheckBox[OleVariant(AddItem('Caption 1')),OleVariant(0)] := True;
		CellHasCheckBox[OleVariant(AddItem('Caption 2')),OleVariant(0)] := True;
	end;
end
371
Can I display the absolute value or positive part of the number

with ComboBox1 do
begin
	Columns.Add('Number');
	(IUnknown(Columns.Add('Abs')) as EXCOMBOBOXLib_TLB.Column).ComputedField := 'abs(%0)';
	with Items do
	begin
		AddItem('-1.98');
		AddItem('0.99');
		AddItem('1.23');
		AddItem('2.34');
	end;
end
19
Can I display multiple icons to the column's header

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	(IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column).HTMLCaption := '1<img>1</img> 2 <img>2</img>...';
end
161
Can I display an additional buttons in the scroll bar

with ComboBox1 do
begin
	ScrollPartVisible[EXCOMBOBOXLib_TLB.exHScroll,EXCOMBOBOXLib_TLB.exLeftB1Part] := True;
	ScrollPartVisible[EXCOMBOBOXLib_TLB.exHScroll,EXCOMBOBOXLib_TLB.exLeftB2Part] := True;
	ScrollPartVisible[EXCOMBOBOXLib_TLB.exHScroll,EXCOMBOBOXLib_TLB.exRightB6Part] := True;
	ScrollPartVisible[EXCOMBOBOXLib_TLB.exHScroll,EXCOMBOBOXLib_TLB.exRightB5Part] := True;
end
209
Can I display a computed column so it displays the VAT, or SUM

with ComboBox1 do
begin
	Columns.Add('A');
	Columns.Add('B');
	(IUnknown(Columns.Add('(A+B)*1.19')) as EXCOMBOBOXLib_TLB.Column).ComputedField := '(%0 + %1) * 1.19';
	with Items do
	begin
		CellCaption[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2);
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem(OleVariant(10))),OleVariant(1)] := OleVariant(20);
	end;
end
285
Can I display a button with some picture or icon inside

with ComboBox1 do
begin
	HTMLPicture['p1'] := 'c:\exontrol\images\zipdisk.gif';
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		h := AddItem('Cell 1');
		CellCaption[OleVariant(h),OleVariant(1)] := ' Button <img>p1</img> ';
		CellCaptionFormat[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.exHTML;
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.RightAlignment;
		CellHasButton[OleVariant(h),OleVariant(1)] := True;
		ItemHeight[h] := 48;
	end;
end
284
Can I display a button with some picture or icon inside

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		h := AddItem('Cell 1');
		CellCaption[OleVariant(h),OleVariant(1)] := ' Button <img>1</img> ';
		CellCaptionFormat[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.exHTML;
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.RightAlignment;
		CellHasButton[OleVariant(h),OleVariant(1)] := True;
	end;
end
283
Can I display a button with some icon inside

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		h := AddItem('Cell 1');
		CellCaption[OleVariant(h),OleVariant(1)] := ' <img>1</img> ';
		CellCaptionFormat[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.exHTML;
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.RightAlignment;
		CellHasButton[OleVariant(h),OleVariant(1)] := True;
	end;
end
10
Can I disable sorting a column, when the user clicks the column's header, or drag it to the sort bar

with ComboBox1 do
begin
	(IUnknown(Columns.Add('Unsortable')) as EXCOMBOBOXLib_TLB.Column).AllowSort := False;
	Columns.Add('Sortable');
end
567
Can I customize the count of selected items, shown on the right side of the control's label (multiple-selection)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	SingleSel := False;
	SingleEdit := True;
	LabelColumnIndex := 0;
	SelBackColor := RGB(51,153,255);
	SelForeColor := RGB(255,255,255);
	LabelText := '<bgcolor=3399FF><fgcolor=FFFFFF> %c </fgcolor></bgcolor>';
	with Columns do
	begin
		Add('Column');
		Add('Sub-Column');
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item 1')),OleVariant(1)] := 'SubItem 1.1';
		CellCaption[OleVariant(AddItem('Item 2')),OleVariant(1)] := 'SubItem 2.1';
		CellCaption[OleVariant(AddItem('Item 3')),OleVariant(1)] := 'SubItem 3.1';
		CellCaption[OleVariant(AddItem('Item 4')),OleVariant(1)] := 'SubItem 4.1';
		SelectItem[ItemByIndex[1]] := True;
		SelectItem[ItemByIndex[3]] := True;
	end;
	EndUpdate();
end
378
Can I convert the expression to date

with ComboBox1 do
begin
	Columns.Add('Number');
	(IUnknown(Columns.Add('Date')) as EXCOMBOBOXLib_TLB.Column).ComputedField := 'date(dbl(%0))';
	with Items do
	begin
		AddItem('-1.98');
		AddItem('30000.99');
		AddItem('3561.23');
		AddItem('1232.34');
	end;
end
377
Can I convert the expression to a number, double or float

with ComboBox1 do
begin
	Columns.Add('Number');
	(IUnknown(Columns.Add('Number + 2')) as EXCOMBOBOXLib_TLB.Column).ComputedField := 'dbl(%0)+2';
	with Items do
	begin
		AddItem('-1.98');
		AddItem('0.99');
		AddItem('1.23');
		AddItem('2.34');
	end;
end
174
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions, after the user clicks it

with ComboBox1 do
begin
	FormatAnchor[False] := '<b><u><fgcolor=880000> </fgcolor></u></b>';
	Columns.Add('Column');
	with Items do
	begin
		CellCaptionFormat[OleVariant(AddItem('Just an <a1>anchor</a> element ...')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
	end;
	with Items do
	begin
		CellCaptionFormat[OleVariant(AddItem('Just another <a2>anchor</a> element ...')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
	end;
	Items.AddItem('next item');
end
173
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions

with ComboBox1 do
begin
	FormatAnchor[True] := '<b><u><fgcolor=FF0000> </fgcolor></u></b>';
	Columns.Add('Column');
	with Items do
	begin
		CellCaptionFormat[OleVariant(AddItem('Just an <a1>anchor</a> element ...')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
	end;
	with Items do
	begin
		CellCaptionFormat[OleVariant(AddItem('Just another <a2>anchor</a> element ...')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
	end;
end
53
Can I change the style or type for the hierarchy lines

with ComboBox1 do
begin
	LinesAtRoot := EXCOMBOBOXLib_TLB.exGroupLinesAtRoot;
	HasLines := EXCOMBOBOXLib_TLB.exThinLine;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
end
312
Can I change the style of the line being displayed by a divider item

with ComboBox1 do
begin
	MarkSearchColumn := False;
	TreeColumnIndex := -1;
	ScrollBySingleLine := False;
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		h := AddItem('Cell 1');
		CellCaption[OleVariant(h),OleVariant(1)] := 'This is bit of text that''s shown on multiple lines. This is bit of text that''s shown on multiple lines.';
		CellSingleLine[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		h := AddItem('This is bit of text that''s displayed on the entire item, divider.');
		ItemDivider[h] := 0;
		ItemDividerLine[h] := EXCOMBOBOXLib_TLB.DoubleDotLine;
		CellHAlignment[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.CenterAlignment;
		ItemHeight[h] := 24;
	end;
end
402
Can I change the order of the parts in the cell, as checkbox after the text, and so on

with ComboBox1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	(IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column).Def[EXCOMBOBOXLib_TLB.exCellDrawPartsOrder] := 'caption,check,icon,icons,picture';
	with Items do
	begin
		h := AddItem('Text');
		CellImage[OleVariant(h),OleVariant(0)] := 1;
		CellHasCheckBox[OleVariant(h),OleVariant(0)] := True;
	end;
end
170
Can I change the order of the buttons in the scroll bar

with ComboBox1 do
begin
	ScrollOrderParts[EXCOMBOBOXLib_TLB.exHScroll] := 't,l,r';
	ScrollOrderParts[EXCOMBOBOXLib_TLB.exVScroll] := 't,l,r';
end
39
Can I change the OR string in the filter bar

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	with (IUnknown(Columns.Add('Column 2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exNonBlanks;
	end;
	FilterCriteria := '%0 or %1';
	Description[EXCOMBOBOXLib_TLB.exFilterBarOr] := ' | ';
	ApplyFilter();
end
41
Can I change the NOT string in the filter bar

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	with (IUnknown(Columns.Add('Column 2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exNonBlanks;
	end;
	FilterCriteria := 'not %0 or %1';
	Description[EXCOMBOBOXLib_TLB.exFilterBarNot] := ' ! ';
	Description[EXCOMBOBOXLib_TLB.exFilterBarIsNonBlank] := ' ! IsBlank';
	ApplyFilter();
end
20
Can I change the height of the header bar

with ComboBox1 do
begin
	HeaderHeight := 32;
end
317
Can I change the foreground color for the tooltip

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := '<fgcolor=FF0000>this is a tooltip assigned to a column</fgcolor>';
end
318
Can I change the forecolor for the tooltip

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	Background[EXCOMBOBOXLib_TLB.exToolTipForeColor] := $ff;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
21
Can I change the font to display the column's header

with ComboBox1 do
begin
	HeaderHeight := 34;
	(IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column).HTMLCaption := '<font Tahoma;14>Column</font> 1';
end
171
Can I change the font for the tooltip

with ComboBox1 do
begin
	ToolTipDelay := 1;
	with ToolTipFont do
	begin
		Name := 'Tahoma';
		Size := 14;
	end;
	ToolTipWidth := 364;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
172
Can I change the font for the tooltip

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := '<br><font Tahoma;14>this</font> is a tooltip assigned to a column<br>';
end
321
Can I change the default border of the tooltip, using your EBN files

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Background[EXCOMBOBOXLib_TLB.exToolTipAppearance] := $1000000;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
320
Can I change the background color for the tooltip

with ComboBox1 do
begin
	ToolTipDelay := 1;
	ToolTipWidth := 364;
	Background[EXCOMBOBOXLib_TLB.exToolTipBackColor] := $ff;
	(IUnknown(Columns.Add('tootip')) as EXCOMBOBOXLib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
362
Can I change the background color for items or cells that contains a specified string

with ComboBox1 do
begin
	ConditionalFormats.Add('%0 contains ''hi''',Null).BackColor := $ff;
	Columns.Add('');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Chld 3');
		ExpandItem[h] := True;
	end;
end
38
Can I change the AND string in the filter bar

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column 1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	with (IUnknown(Columns.Add('Column 2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exNonBlanks;
	end;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := ' & ';
	ApplyFilter();
end
46
Can I change the "Today" caption being displayed in the drop down calendar, when I filter for dates

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterDate := True;
	end;
	Description[EXCOMBOBOXLib_TLB.exFilterBarDateTodayCaption] := 'Azi';
	ApplyFilter();
end
43
Can I change the "Date:" caption when the column's drop down filter window is shown

with ComboBox1 do
begin
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterDate := True;
	end;
	Description[EXCOMBOBOXLib_TLB.exFilterBarDate] := 'Range';
	ApplyFilter();
end
536
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

with ComboBox1 do
begin
	BeginUpdate();
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	(IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column).Width := 128;
	with Items do
	begin
		CellSingleLine[OleVariant(AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionBreakWrap;
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
	end;
	EndUpdate();
end
535
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

with ComboBox1 do
begin
	BeginUpdate();
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	with (IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Width := 128;
		Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(1);
	end;
	with Items do
	begin
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
	end;
	EndUpdate();
end
105
Can I apply an EBN skin to the control's filter bar so I can change its visual appearance

with ComboBox1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	FilterBarBackColor := $1000000;
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exBlanks;
	end;
	ApplyFilter();
end
431
Can I allow sorting only the child items

with ComboBox1 do
begin
	BeginUpdate();
	Columns.Add('Childs');
	with Items do
	begin
		h := AddItem('Root 1');
		SortableItem[h] := False;
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		SortableItem[h] := False;
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
291
Can I add a +/- ( expand / collapse ) buttons to each item, so I can load the child items later

with ComboBox1 do
begin
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	Columns.Add('Default');
	with Items do
	begin
		ItemHasChildren[AddItem('parent item with no child items')] := True;
		AddItem('next item');
	end;
end
187
By default, the column gets sorted descending, when I first click its header. How can I change so the column gets sorted ascending when the user first clicks the column's header

with ComboBox1 do
begin
	(IUnknown(Columns.Add('Sort')) as EXCOMBOBOXLib_TLB.Column).DefaultSortOrder := True;
end
75
By default, the column gets sorted as strings, so how do I sort a column by time only

with ComboBox1 do
begin
	(IUnknown(Columns.Add('desc')) as EXCOMBOBOXLib_TLB.Column).SortType := EXCOMBOBOXLib_TLB.SortTime;
	with Items do
	begin
		AddItem('11:00');
		AddItem('10:10');
		AddItem('12:12');
		SortChildren(0,OleVariant(0),False);
	end;
end
73
By default, the column gets sorted as strings, so how do I sort a column by dates

with ComboBox1 do
begin
	(IUnknown(Columns.Add('desc')) as EXCOMBOBOXLib_TLB.Column).SortType := EXCOMBOBOXLib_TLB.SortDate;
	with Items do
	begin
		AddItem('1/1/2001');
		AddItem('1/2/2002');
		AddItem('1/3/2003');
		SortChildren(0,OleVariant(0),False);
	end;
end
74
By default, the column gets sorted as strings, so how do I sort a column by date and time

with ComboBox1 do
begin
	(IUnknown(Columns.Add('desc')) as EXCOMBOBOXLib_TLB.Column).SortType := EXCOMBOBOXLib_TLB.SortDateTime;
	with Items do
	begin
		AddItem('1/1/2001 11:00');
		AddItem('1/1/2001 10:10');
		AddItem('1/3/2003');
		SortChildren(0,OleVariant(0),False);
	end;
end
606
Bolds only the expanded items

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	ConditionalFormats.Add('%CX0',Null).Bold := True;
	Columns.Add('Description');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
	end;
	EndUpdate();
end
593
Are there any properties to set text margins at tooltip, like Margins="5,5" (method 1). Margins is used to get some space between text and the tooltips border
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.ComboBox1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	with ComboBox1 do
	begin
		ShowToolTip('new content','',Null,'+8','+8');
	end
end;

with ComboBox1 do
begin
	ToolTipMargin := '16,8';
end
539
ADOR, MDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
541
ADOR, ACCDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
540
ADODB, MDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
542
ADODB, ACCDB, x64

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',1,1,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
531
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	DefaultItemHeight := 20;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY' + 
	'1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh' + 
	'WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6' + 
	'DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ' + 
	'SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0' + 
	'pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==');
	with (IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Position')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 rindex ``';
		Visible := False;
	end;
	with ConditionalFormats.Add('%C1 mod 2',Null) do
	begin
		BackColor := $1000000;
	end;
	with Items do
	begin
		AddItem('Item 1');
		AddItem('Item 2');
		AddItem('Item 3');
		AddItem('Item 4');
	end;
	EndUpdate();
end